Interactive electronic television program guide with database configurability

ABSTRACT

An interactive television program guide system is provided in which an interactive television program guide is implemented on user television equipment containing a memory. The system allocates the memory among different categories of program guide data used by the program guide. When new channels are added to the channel line-up, the program guide adjusts its memory allocation accordingly. When it is desired to install a new non-program-guide application on the user television equipment in addition to the program guide, memory can be reallocated to accommodate the new application.

This application claims the benefit of U.S. provisional application No.60/063,988, filed Nov. 6, 1997.

BACKGROUND OF THE INVENTION

This invention relates to television systems, and more particularly, tothe use of memory in interactive television program guide systems.

Cable, satellite, and broadcast television systems provide viewers witha large number of television channels. Viewers have traditionallyconsulted printed television program schedules to determine the programsbeing broadcast at a particular time. More recently, interactiveelectronic television program guides have been developed that allowtelevision program information to be displayed on a viewer's television.

Interactive television program guides, which control user-interfacefunctions, i.e. channel-selection or interactive program inspection, aretypically implemented on set-top boxes. Although set-top boxes are oftenprovided to subscribers with only the program guide applicationinstalled and a certain number of pre-determined channels, cable systemoperators often would like to have the capability to add more channelsto their cable television channel line-up. Cable system operators mayalso want to install additional applications in the set-top boxes intheir system when such features become available. For example, operatorsmight wish to add application software to the set-top boxes to support ahome shopping service, a home banking service, an Internet accessservice, or some other such service.

However, the amount of memory available in a set-top box is limited.Because the amount of memory required by a conventional program guide isfixed, it may not be possible to install new application software in aset-top box if the program guide application has already been installed.An example of an electronic program guide with a memory size that isfixed is shown in Lazarus U.S. Pat. No. 5,652,613. Although it might bepossible to reserve the needed memory capacity for the futureinstallation of new applications by initially using a program guide witha fairly small memory requirement, such a reduced-size program guidewould generally not be able to provide the same level of functionalityas a full-sized program guide.

It is therefore an object of the present invention to provide a systemin which the memory requirements of a program guide may be adjusted whenit is desired to install additional applications.

It is a further object of the present invention to provide a system inwhich the memory requirements of a program guide may be adjusted toaccommodate the addition of new channels to the existing channelline-up.

SUMMARY OF THE INVENTION

These and other objects of the invention are accomplished in accordancewith the principles of the present invention by providing an interactiveelectronic television program guide system in which a set-top box orcomparable user television equipment on which a program guide isimplemented has a configurable database of program guide data. A set-topbox or comparable user television equipment stores various categories oftelevision program guide data in the configurable database and maintainsa database configuration record. The database configuration recordallocates memory usage among the categories of program guide data.

The database configuration record may be based on a look-up tablearrangement that contains information on the preferred memory allocationto be used when various amounts of memory are available. If it isdesired to change the amount of memory used by the program guide due tothe installation of new applications, the database configuration recordmay be used by the program guide to reallocate the memory in the set-topbox.

The database configuration record may be provided to the se-top boxusing a number of different techniques. For example, the databaseconfiguration record may be provided from the same source used toprovide the program guide data. If desired, the database configurationrecord may be provided at the cable system headend. The record may beaddressed to all set-top boxes controlled by a particular cable systemoperator, all set-top boxes in a given cable system, an individualset-top box, or other suitable grouping.

An aspect of the invention relates to the use of various levels of datastorage. For each level of storage, the database configuration recordmay specify a desired number of hours of television program listingsdata to store for each category of programming, as well as a desirednumber of hours of descriptions. There may be a default databaseconfiguration record for each version of the program guide, for eachspecific type of set-top box hardware, and for each memory configurationcorresponding to a specific type of set-top box hardware.

The television program guide data preferably may be divided intocategories such as pay-per-view special events, pay-per-view movies,programming on premium channels, all other movies, all other sportingevents, and all other series. Each data storage level specifies how theprogram guide is to allocate individual portions of memory for thelistings and descriptions corresponding to different categories ofprogramming.

For example, a first level (level one) in the database configurationrecord might indicate that the program guide should store 30 days ofprogram listings data and program descriptions data for pay-per-viewevents, seven days of program listings data and five days of programdescriptions data for pay-per-view movies, seven days of programlistings data and 12 hours of program descriptions data for programmingon premium channels, etc. For level two, which requires that less memorybe used by the program guide database, the database configuration recordmay decrease the amount of program listings data and programdescriptions data that is to be retained by the program guide forcertain categories.

In response to the introduction of a new application to the set-top box,a new database configuration record may be required. When a new databaseconfiguration record is received by the set-top box, it informs theprogram guide how it may use to store the program guide data. Theprogram guide then purges any programming data that is not within itsstorage levels as specified by the new database configuration record.New incoming television programming data is also controlled by the datastorage level. When the program guide receives new programming data, theprogram guide checks the current level of the database configurationrecord. If the new data fits in memory using the current definition ofthe data storage level in the database configuration record, i.e.,information about listings and descriptions of pay-per-view eventswithin 30 days as described above for level one, the program guidestores the data. If the data extends beyond that definition, e.g., thedata contains information about listings and descriptions ofpay-per-view events that are 32 days into the future, the extra datawill be discarded.

When the program guide determines that, for the present storage level,sufficient memory no longer exists (e.g., because new channels wereadded to the cable television line-up or a new non-program-guideapplication was added to the set-top box memory), the program guidedeletes all unnecessary data and changes to a program listings level anda program descriptions level that requires less memory and provides lessprogramming data. The program guide can become aware of this shortage ofmemory in two different ways: 1) the installation of new channels in theline-up may alert the program guide that its available memory has beenreduced or 2) as mentioned above, a new database configuration recordmay be sent from the cable operator to the program guide to inform theprogram guide of a new application that will be installed in the memory.

When the program guide determines that additional memory is available,for example due to the removal of an application from the set-top box orthe removal of channels from the television channel line-up, the programguide changes to a program listings level and a program descriptionslevel which uses more memory for the program guide database and cantherefore provide more complete programming information to the user ofthe program guide.

The database configuration record may also be used to specify a defaultstartup level. The default startup level ensures that whenever theset-top box is turned on after a power interruption, the program guidestarts at a lower level of storage and gradually increases to thepredetermined maximum program listings level and maximum programdescriptions level for the program guide.

The database configuration record may be stored in nonvolatile memory inthe set-top box, so that the program guide continues to allocate memoryproperly after a power loss. Data such as program listings data andprogram descriptions data may be stored in volatile memory andreacquired after a power loss.

Further features of the invention, its nature and various advantageswill be more apparent from the accompanying drawings and the followingdetailed description of the preferred embodiments.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram of a known interactive television programguide system.

FIG. 2 is a schematic diagram of a known interactive television programguide system according to the present invention.

FIG. 3 is a schematic diagram of a system in accordance with the presentinvention.

FIG. 4 is a schematic diagram of illustrative user equipment inaccordance with the present invention.

FIG. 5 is a schematic diagram showing two illustrative types of userequipment in accordance with the present invention.

FIG. 6 is a schematic diagram of an illustrative set-top box arrangementin accordance with the present invention.

FIG. 7 is a schematic diagram of an illustrative memory arrangement fora set-top box in accordance with the present invention.

FIG. 8 is a table showing illustrative program listings levels inaccordance with the present invention.

FIG. 9 is a table showing illustrative program descriptions levels inaccordance with the present invention.

FIG. 10 is a schematic diagram of an illustrative database configurationrecord in accordance with the present invention.

FIG. 11 is a flow chart showing steps involved in introducing a newapplication to a set-top box in accordance with the present invention.

FIG. 12 is a flow chart showing steps involved in reconfiguring thememory in accordance with the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

In known television program guide applications, the amount of memoryreserved for program guide data is fixed. An example of such a system isshown in FIG. 1. In FIG. 2, an interactive television program guideapplication having a variable amount of memory for program guide dataaccording to the principles of invention is shown at step 2. Thevariability of the amount of memory permits the interactive televisionprogram guide to accommodate new applications (or new channel data, seeFIG. 12) as necessary. Step 4 illustrates an example of the interactivetelevision program guide adjusting to accommodate a new application.Step 6 shows the interactive television program guide allocating areduced amount of memory for program guide data while simultaneouslyallocating a portion of the memory for a new application.

An illustrative arrangement for an interactive electronic televisionprogram guide system 10 in accordance with the present invention isshown in FIG. 3. Main facility 12 provides data from data source 14 todistribution facility 16 via communications link 18. Link 18 may be asatellite link, a telephone network link, a cable or fiber optic link, amicrowave link, a combination of such links, or any other suitablecommunications path. If it is desired to transmit video signals overlink 18 in addition to data signals, a relatively high bandwidth linksuch as a satellite link may generally be preferred to a relatively lowbandwidth link such as a telephone line. Distribution facility 16 may bea cable system headend, a broadcast distribution facility, or asatellite television distribution facility.

The program guide data transmitted by main facility 12 to distributionfacility 16 includes television program listings data (e.g., programtimes, channels, titles), program descriptions data and data for otherprogram guide services, and may include data for additional services. Ifdesired, some data may be provided using data sources at facilitiesother than main facility 12.

Distribution facility 16 distributes the program guide data and data forother services to multiple users via communications paths 20. Each userhas user equipment 22 for displaying television programs, televisionprogram listings, program descriptions, and information for otherservices using an interactive television program guide. Many features ofthe interactive television program guide are provided by executinginstructions with a microprocessor or similar control circuitry 54 (FIG.6) within user equipment 22. Communications paths 20 preferably havesufficient bandwidth to allow distribution facility 16 to distributetelevision programming and other video information to user equipment 22.Television programming and video information may also be distributed bydistribution facility 16 over communications paths separate fromcommunications paths 20.

Certain program guide functions may require user equipment 22 totransmit data to distribution facility 16 over communications paths 20(e.g., with a cable modem, telephone modem, or other suitable returnlink). If desired, return data may be transmitted over separatecommunications paths (not shown).

An illustrative arrangement for user equipment 22 is shown in FIG. 4.The program guide may be implemented on set-top box 28. The programguide coordinates the display of television programs and televisionprogram listings information on television 36. If desired, usertelevision equipment 22 may include a videocassette recorder controlledby the program guide on set-top box 28 for recording selected programs.

Periodically, user equipment 22 of FIG. 4 receives televisionprogramming, video information, television program listings information,and other data from television distribution facility 16 of FIG. 3 (orfrom a separate data stream) at input 26. Information from the user maybe transmitted to distribution facility 16 of FIG. 3 via output 27.During normal television viewing, the user tunes set-top box 28 to adesired television channel. Remote control 40 or some other suitableuser input device such as a mouse, infrared keyboard, touch pad, voicerecognition system, etc. may be used for interacting with the programguide and controlling set-top box 28 and television 36.

The television program guide implemented on set-top box 28 may bedownloaded from television distribution facility 16 via communicationspaths 20. If desired, different versions of the program guide (shown asinteractive television program guide application 60 in FIG. 7) may betransmitted to individually addressable set-top boxes, such as set-topboxes of different types, 23 and 24 of FIG. 5.

The circuitry of set-top box 28 of FIG. 4 is shown in more detail inFIG. 6. As shown in FIG. 6, set-top box 28 contains memory 50 for datastorage and control circuitry 54 (which is preferablymicroprocessor-based) for performing the various program guide and otherset-top box functions. These functions include responding to userinstructions sent via remote control 40 (FIG. 4) and responding toinstructions sent by distribution facility 16 (FIG. 3) (e.g., when a newchannel line-up is sent by distribution facility 16).

FIG. 7 shows an illustrative configuration of memory 50 in set-top box28. Memory 50 contains program guide application 60, which includes adatabase configuration record 62 for allocating television program guidedata 67 for various categories of listings information, such astelevision programming data 68 for category A of programming andtelevision programming data 69 for category B of programming. CategoriesA and B and other such categories include special events, pay-per-viewmovies, sporting events, non-pay-per-view movies, or regular programs.

Additional applications 61 (e.g., an Internet browser, a shoppingapplication, etc.) may also be contained in memory if desired. Databaseconfiguration record 62 is preferably stored in nonvolatile memory(e.g., rewritable flash memory) as indicated by dotted line 63. Thisensures that program guide 60 allocates memory properly after a powerloss, because memory allocation information in the nonvolatile databaseconfiguration record 62 will not be lost. Television program guide data67 may be stored in volatile memory (e.g., random access memory), asindicated by dotted line 65. Television program guide data 67 may bereacquired after a power loss, because television program guide data 67is periodically transmitted to set-top box 28 from televisiondistribution facility 16 (FIG. 3).

Database configuration record 62 uses program listings look-up table 64and program descriptions look-up table 66 as guides when allocatingmemory between different types of television program guide data 67. Whenit is desired to download a new version of the database configurationrecord 62 to set-top boxes 28, e.g., to make more memory available toaccommodate a new application, program guide 60 preferably accesses thenewly introduced database configuration record 62 to determine which ofthe program listings levels 86 of program listings look-up table 80 ofFIG. 8 and program descriptions levels 96 of program descriptionslook-up table 90 of FIG. 9 coincides with the amount of memory it isdesired to use for the program guide application (which relates directlyto the amount of memory that will be made available for the newapplication).

However, when the configuration of the memory is changed, i.e., newchannels are introduced into the cable television line-up or thedescriptions of programming are modified (e.g., to change the size ofindividual descriptions, or to include pictures as part of thedescriptions), a new database configuration record is preferably notrequired (see FIG. 12). Rather, program guide data for a new memoryconfiguration is transmitted to the program guide without a new databaseconfiguration record, as shown in box 202. The program guide receivesthe program guide data for the new memory configuration, as shown in box204. Thereafter, as shown in box 206, the program guide reconfigures thedatabase by checking the database configuration record for the levelscorresponding to the new memory configuration and calculates the programlistings level 86 and program descriptions level 96 accordingly toaccommodate the new memory configuration.

Program listings table 80 of FIG. 8 and program descriptions table 90 ofFIG. 9 show how much data is stored in memory for each category of dataand for each level of memory usage. The program guide memory allocationscheme that uses the most memory for the program guide applicationcorresponds to level zero. The program guide memory allocation schemethat uses the least memory for the program guide application correspondsto level 14. At the highest level of program guide memory usage (levelzero), listings and descriptions data for special events is availablefor 30 days into the future. Data for pay-per-view movies, sportingevents, non-pay-per-view movies, and regular programs is available for 7days into the future. The 30 day entry in the level zero “any program”category in table 80 of FIG. 8 and table 90 of FIG. 9 indicates that anyprogram that is more than thirty days into the future should bediscarded. The highest level of program guide memory usage is suitablefor arrangements in which the program guide application is the onlyapplication loaded into set-top boxes 28 and a minimum number ofchannels is being supported.

Whenever it is desired to remove an application other than program guideapplication 60 from set-top box 28 (FIG. 4), program guide application60 may not require a new database configuration record 62. If, however,the increase in memory availability is substantial, a new databaseconfiguration record 62 may be sent from television distributionfacility 16 (FIG. 3) to establish a higher level of memory usage forlistings and descriptions data. This allows the user access to moreprogram listings and descriptions information when using program guide60.

Whenever it is desired to add an application to set-top boxes 28,database configuration record 62 may be reconfigured at televisiondistribution facility 16 (FIG. 3) and retransmitted to set-top boxes 28.Program listings level 86 may then changed to establish a lower level ofmemory usage for program guide application 60. Similarly, programdescriptions level 96 may then be changed to establish a lower level ofmemory usage for program guide application 60. This reduces the memoryrequired by program guide application 60 for storing program listingsand program descriptions in its database, thereby making more memoryavailable for non-guide applications.

If desired, database configuration record 62 may specify a defaultstartup level X for program listings 70 and a default startup level Yfor program descriptions 72, as shown in FIG. 10 and as indicated byarrows next to the tables of FIGS. 8 and 9. Default startup levels 70and 72 ensure that when memory 50 in set-top box 28 is initially used tostore program guide application 60, the memory is not fragmented byover-allocation of memory followed by truncation to fit a morerestrictive storage level. Using default startup levels 70 and 72, datacollection may start at a level that requires a relatively small amountof memory. An illustrative set of default startup levels for a systemwith an available storage capacity of 750 kilobytes is level zero inFIG. 8 for program listings and level six for descriptions in FIG. 9 forprogram descriptions, as indicated by the arrows 82 and 92 in FIGS. 8and 9, respectively.

Once the startup routine has been successfully completed, program guideapplication 60 uses the maximum level of memory allocated to it bydatabase configuration record 62. This memory allocation occurs as newlistings and descriptions data is gradually introduced into memory. Theinitial reduced-allocation approach distributes memory more efficientlyon startup of the program guide than allowing program guide application60 to randomly choose levels on startup or to choose the highest levelsavailable.

One suitable approach for adjusting the memory configuration of set-topboxes 28 by changing the amount of memory used by program guideapplication 60 is illustrated in the flow chart in FIG. 11. The flowchart of FIG. 11 shows how memory can be reallocated to accommodate anew application in set-top box 28 such as a shopping application or anInternet browser application. Because the new application must use someof the limited memory available in set-top box 28, the size of the newapplication affects the memory that is available in set-top box 28 forprogram guide application 60. Once the amount of memory needed to runthe new application is determined at step 102, a suitable programrunning at television distribution facility 16 (FIG. 3) is used todetermine the amount of memory that will be available for program guidedata 67 in set-top box 28 after the new application is installed (step104). At step 106, the suitable program uses program listings look-uptable 80 and program descriptions look-up table 90 to calculate asuitable new program listings level and new program description level toaccommodate the new application. The suitable program then changeseither the program listings level or the program descriptions level (orboth)(step 106). This step 106 may require a new database configurationrecord 62. The new database configuration record is preferablydownloaded first, to structure the memory of the program guide 60. Thenew application may then be downloaded from television distributionfacility 16 into set-top boxes 28 at step 108.

One skilled in the art will appreciate that the present invention can bepracticed by other than the described embodiments, which are presentedfor purposes of illustration and not of limitation, and the presentinvention 's limited only by the claims which follow.

1. An interactive television program guide system in which an interactive television program guide is implemented on user television equipment, comprising: memory in the user television equipment, in which program guide data for use by the interactive television program guide and non-program guide applications are stored; means for determining the memory requirements of a non-program guide application that is not currently stored on the user television equipment; means for determining the amount of memory that will be available to the interactive television program guide after storing the non-program-guide application on the user television equipment; means for receiving information from a remote source on the amount of memory for the interactive television program guide to use to store the program guide data; and means for adjusting the amount of memory used by the interactive television program guide to store the program guide data based at least in part on the received information and the amount of memory available after storing the non-program guide application on the user television equipment.
 2. The interactive television program guide system defined in claim 1, wherein different categories of program guide data are stored in the memory, the interactive television program guide system further comprising means for reallocating the memory among the different categories of program guide data when the amount of memory used to store the program guide data is adjusted.
 3. The interactive television program guide system defined in claim 1 wherein the program guide data stored in the memory corresponds to a given television channel line-up and wherein the means for adjusting further comprises means for allocating the memory among the different categories of program guide data when the amount of stored program guide data is adjusted in response to an addition of new channels to the given television channel line-up.
 4. The interactive television program guide system defined in claim 1 wherein the means for adjusting further comprises means for adjusting the amount of memory used to store the program guide data to accommodate installation of a new application in the user television equipment.
 5. An interactive television program guide system in which an interactive television program guide is implemented on user television equipment, comprising: memory in the user television equipment in which program guide data for use by the interactive television program guide and non-program guide applications are stored; means for determining the memory requirements of a non-program guide application that is not currently stored on the user television equipment; means for determining the amount of memory that will be available to the interactive television program guide after storing the non-program-guide application on the user television equipment; means for receiving information on the amount of memory for the interactive television program guide to use to store the program guide data; means for adjusting the amount of memory used by the interactive television program guide to store the program guide data based at least in part on the received information and the amount of memory available after storing the non-program guide application on the user television equipment, wherein different categories of program guide data are stored in the memory; means for reallocating the memory among the different categories of program guide data when the amount of memory used to store the program guide data is adjusted; and means for reallocating the memory based on information in a database configuration record.
 6. The interactive television program guide system defined in claim 5 further comprising a television distribution facility for providing the program guide data to the interactive television program guide implemented on the user television equipment.
 7. The interactive television program guide system defined in claim 6 further comprising means for establishing how much of the program guide data the interactive television program guide should retain for each of the different categories of program guide data to accommodate the new non-program-guide application.
 8. The interactive television program guide system defined in claim 7 further comprising means for downloading a new version of the database configuration record from the television distribution facility to the user television equipment.
 9. The interactive television program guide system defined in claim 8 further comprising means for downloading the new non-program-guide application from the television distribution facility to the user television equipment.
 10. The interactive television program guide system defined in claim 5 further comprising means for allocating the memory based on a plurality of storage levels contained in the database configuration record.
 11. The interactive television program guide system defined in claim 10 wherein each storage level specifies how much data is to be retained by the interactive television program guide in a plurality of programming categories.
 12. The interactive television program guide system defined in claim 11 further comprising means for using one of the programming categories as a filter to discard any program guide data that concerns programs more than a certain number of days into the future.
 13. The interactive electronic television program guide system defined in claim 5 further comprising means for distributing the database configuration record to the user television equipment from a television distribution facility accompanied by the program guide data.
 14. The interactive television program guide system defined in claim 13 wherein the program guide data is transmitted from a television distribution facility to the user television equipment in a data stream, the interactive television program guide system further comprising means for downloading the interactive television program guide to the user television equipment in a data stream separate from the data stream used for transmitting the program guide data.
 15. The interactive television program guide system defined in claim 13 further comprising means for inputting the database configuration record at a cable system headend.
 16. The interactive television program guide system defined in claim 5 wherein the memory comprises a nonvolatile memory portion and a volatile memory portion.
 17. The interactive television program guide defined in claim 16 further comprising means for storing the database configuration record in the nonvolatile memory portion and storing the program guide data in the volatile memory portion.
 18. The interactive television program guide system defined in claim 5 further comprising means for including at least one default startup level in the database configuration record.
 19. An interactive television program guide system in which an interactive television program guide is implemented on user television equipment, comprising: memory in the user television equipment in which program guide data for use by the interactive television program guide and non-program guide applications are stored; means for determining the memory requirements of a non-program guide application that is not currently stored on the user television equipment; means for determining the amount of memory that will be available to the interactive television program guide after storing the non-program-guide application on the user television equipment; means for receiving information on the amount of memory for the interactive television program guide to use to store the program guide data; means for adjusting the amount of memory used by the interactive television program guide to store the program guide data based at least in part on the received information and the amount of memory available after storing the new non-program guide application on the user television equipment, wherein different categories of program guide data are stored in the memory and wherein the program guide data stored in the memory corresponds to a given television channel line-up; and means for determining an amount of memory available for each of the different categories of program guide data after the addition of new channels, wherein the means for adjusting the memory adjusts based on the amounts of memory that are determined to be available for each of the different categories.
 20. An interactive television program guide system in which an interactive television program guide is implemented on user television equipment, comprising: memory in the user television equipment in which program guide data for use by the interactive television program guide and non-program guide applications are stored; means for determining the memory requirements of a non-program guide application that is not currently stored on the user television equipment; means for determining the amount of memory that will be available to the interactive television program guide after storing the non-program-guide application on the user television equipment; means for receiving information on the amount of memory for the interactive television program guide to use to store the program guide data; means for adjusting the amount of memory used by the interactive television program guide to store the program guide data based at least in part on the received information and the amount of memory available after storing the non-program guide application, wherein the program guide data stored in the memory corresponds to a given television channel line-up; and means for detecting a change in the amount of channels offered in the television channel line-up.
 21. An interactive television program guide system in which an interactive television program guide is implemented on user television equipment, comprising: memory in the user television equipment in which program guide data for a given memory configuration for use by the interactive television program guide and non-program guide applications are stored; means for determining the memory requirements of a non-program guide application that is not currently stored on the user television equipment; means for determining the amount of memory that will be available to the interactive television program guide after storing the non-program-guide application on the user television equipment; means for receiving program guide data for a new memory configuration; means for reconfiguring the memory to accommodate the program guide data for the new memory configuration, wherein different categories of program guide data are stored in the memory, the means for reconfiguring further comprising means for reallocating the memory among the different categories of program guide data; and means for reallocating the memory based on information in a database configuration record and the amount of memory available after storing the non-program guide application on the user television equipment.
 22. The interactive television program guide system defined in claim 21 further comprising a television distribution facility for providing the program guide data to the interactive television program guide implemented on the user television equipment.
 23. The interactive television program guide system defined in claim 22 wherein the television distribution facility further comprises means for determining the memory requirements of a new channel line-up.
 24. The interactive television program guide system defined in claim 23 further comprising means for establishing how much of the program guide data the interactive television program guide should retain for each of the different categories of program guide data to accommodate the new channel line-up.
 25. The interactive television program guide system defined in claim 24 further comprising means for downloading the new channel line-up from the television distribution facility to the user television equipment.
 26. The interactive television program guide system defined in claim 21 further comprising means for allocating the memory based on a plurality of storage levels contained in the database configuration record.
 27. The interactive television program guide system defined in claim 26 wherein each storage level specifies how much data is to be retained by the interactive television program guide in a plurality of programming categories.
 28. The interactive television program guide system defined in claim 27 further comprising means for using one of the programming categories as a filter to discard any program guide data that concerns programs more than a certain number of days into the future.
 29. A memory adjustment method for use in an interactive television program guide system in which an interactive television program guide is implemented on user television equipment that has memory, comprising: determining the memory requirements of a non-program guide application that is not currently stored on the user television equipment; determining the amount of the memory that will be available to the interactive television program guide after storing the non-program-guide application on the user television equipment; storing program guide data in the memory for use by the interactive television program guide; receiving information from a remote source on the amount of memory available for the interactive television program guide to use to store the program guide data; and adjusting the amount of memory used for storing the program guide data based at least in part on the received information and the amount of memory available after storing the non-program guide application on the user television equipment.
 30. The method defined in claim 29 further comprising reallocating the memory among different categories of program guide data.
 31. The method defined in claim 29 wherein the adjusting further comprises adjusting the memory to accommodate installation of a new application in the user television equipment.
 32. The method defined in claim 29 further comprising detecting the addition of new channels to the given television channel line-up.
 33. A memory adjustment method for use in an interactive television program guide system in which an interactive television program guide is implemented on user television equipment that has memory, comprising: determining the memory requirements of a non-program guide application that is not currently stored on the user television equipment; determining the amount of the memory that will be available to the interactive television program guide after storing the new non-program-guide application on the user television equipment; storing program guide data in the memory for use by the interactive television program guide; receiving information on the amount of memory available for the interactive television program guide to use to store the program guide data; adjusting the amount of memory used for storing the program guide data based at least in part on the received information and the amount of memory available after storing the non-program guide application, wherein different categories of program guide data are stored in the memory; reallocating the memory among different categories of program guide data; and reallocating the memory based on information in a database configuration record.
 34. The method defined in claim 33 further comprising distributing the program guide data from a television distribution facility to the interactive television program guide implemented on the user television equipment.
 35. The method defined in claim 34 further comprising establishing how much of the program guide data the interactive television program guide should retain for each of the different categories of program guide data to accommodate the new non-program-guide application in the memory.
 36. The method defined in claim 35 further comprising downloading a new version of the database configuration record from the television distribution facility to the user television equipment.
 37. The method defined in claim 36 further comprising downloading the new non-program-guide application from the television distribution facility to the user television equipment.
 38. The method defined in claim 37 further comprising allocating the memory based on a plurality of storage levels contained in the database configuration record.
 39. The method defined in claim 38 wherein allocating the memory based on the storage levels further comprises specifying how much data is to be retained by the interactive television program guide in a plurality of programming categories.
 40. The method defined in claim 39 further comprising using one of the programming categories as a filter to discard any program guide data that concerns programs more than a certain number of days into the future.
 41. The method defined in claim 33 further comprising distributing the database configuration record to the user television equipment from a television distribution facility accompanied by the program guide data.
 42. The method defined in claim 41 further comprising: transmitting the program guide data from a television distribution facility to the user television equipment in a data stream; and downloading the interactive television program guide to the user television equipment in a data stream separate from the data stream used for transmitting the program guide data.
 43. The method defined in claim 41 further comprising inputting the database configuration record at a cable system headend.
 44. The method defined in claim 33 further comprising using memory that includes a nonvolatile memory portion and a volatile memory portion.
 45. The method defined in claim 44 further comprising storing the database configuration record in the nonvolatile memory portion and storing the program guide data in the volatile memory portion.
 46. The method defined in claim 33 further comprising including at least one default startup level in the database configuration record.
 47. A memory adjustment method for use in an interactive television program guide system in which an interactive television program guide is implemented on user television equipment that has memory, comprising: determining the memory requirements of a non-program guide application that is not currently stored on the user television equipment; determining the amount of memory that will be available to the interactive television program guide after storing the non-program-guide application on the user television equipment; storing program guide data in the memory for use by the interactive television program guide; receiving information on the amount of memory available for the interactive television program guide to use to store the program guide data; adjusting the amount of memory used for storing the program guide data based at least in part on the received information and the amount of memory available after storing the non-program guide application on the user television equipment, wherein different categories of program guide data are stored in the memory; and detecting the addition of at least one new channel to a given television channel line-up and allocating the memory among the different categories of program guide data when the amount of memory used for stored program guide data is adjusted in response to an addition of at least one new channel to the given television channel line-up.
 48. A memory adjustment method for use in an interactive television program guide system in which an interactive television program guide is implemented on user television equipment that has memory, comprising: determining the memory requirements of a non-program guide application that is not currently stored on the user television equipment; determining the amount of the memory that will be available to the interactive television program guide after storing the non-program-guide application on the user television equipment; storing program guide data in the memory for use by the interactive television program guide; receiving information on the amount of memory available for the interactive television program guide to use to store the program guide data; adjusting the amount of memory used for storing the program guide data based at least in part on the received information and the amount of memory available after storing the non-program guide application on the user television equipment, wherein different categories of program guide data are stored in the memory; and determining an amount of memory available for each of the different categories of program guide data after the addition of new channels, wherein the adjusting the memory adjusts based on the amounts of memory that are determined to be available for each of the different categories.
 49. A memory reconfiguration method for use in an interactive television program guide system in which an interactive television program guide is implemented on user television equipment that has memory in which program guide data for a given memory configuration is stored, comprising: determining the memory requirements of a new non-program guide application; determining the amount of the memory that will be available to the interactive television program guide after the new non-program-guide application has been installed on the user television equipment; receiving program guide data for a new memory configuration; reconfiguring the memory to accommodate the program guide data for the new memory configuration, wherein different categories of program guide data are stored in the memory, reconfiguring further comprising reallocating the memory among the different categories of program guide data; and reallocating memory based on information in a database configuration record and the amount of memory available after the installation of the new non-program guide application.
 50. The method defined in claim 49 further comprising providing the program guide data from a television distribution facility to the interactive television program guide implemented on the user television equipment.
 51. The method defined in claim 50 further comprising determining the memory requirements of a new channel line-up.
 52. The method defined in claim 51 further comprising establishing how much of the program guide data the interactive television program guide should retain for each of the different categories of program guide data to accommodate the new channel line-up.
 53. The method defined in claim 52 further comprising downloading the new channel line-up from the television distribution facility to the user television equipment.
 54. The method defined in claim 49 further comprising allocating the memory based on a plurality of storage levels contained in the database configuration record.
 55. The method defined in claim 54 specifying wherein each storage level specifies how much data is to be retained by the interactive television program guide in a plurality of programming categories.
 56. The method defined in claim 55 further comprising using one of the programming categories as a filter to discard any program guide data that concerns programs more than a certain number of days into the future.
 57. An interactive television program guide system in which an interactive television program guide is implemented on user television equipment, comprising: memory in the user television equipment in which program guide data for use by the interactive television program guide and non-program guide applications are stored; and control circuitry in the user television equipment, wherein the control circuitry is configured to: determine the memory requirements of a non-program guide application that is not currently stored on the user television equipment; determine the amount of memory that will be available to the interactive television program guide after storing the non-program-guide application on the user television equipment; receive information from a remote source on the amount of memory for the interactive television program guide to use to store the program guide data; and adjust the amount of memory used by the interactive television program guide to store the program guide data based at least in part on the received information and the amount of memory available after storing the non-program guide application on the user television equipment.
 58. An interactive television program guide system in which an interactive television program guide is implemented on user television equipment, comprising: memory in the user television equipment in which program guide data for use by the interactive television program guide and non-program guide applications are stored; and control circuitry in the user television equipment, wherein the control circuitry is configured to: determine the memory requirements of a non-program guide application that is not currently stored on the user television equipment; determine the amount of the memory that will be available to the interactive television program guide after storing the non-program-guide application on the user television equipment; receive information on the amount of memory for the interactive television program guide to use to store the program guide data; adjust the amount of memory used by the interactive television program guide to store the program guide data based at least in part on the received information and the amount of memory available after storing the non-program guide application on the user television equipment, wherein different categories of program guide data are stored in the memory; reallocate the memory among the different categories of program guide data when the amount of memory used to store the program guide data is adjusted; and reallocate the memory based on information in a database configuration record.
 59. An interactive television program guide system in which an interactive television program guide is implemented on user television equipment, comprising: memory in the user television equipment in which program guide data for use by the interactive television program guide and non-program guide applications are stored; and control circuitry in the user television equipment, wherein the control circuitry is configured to: determine the memory requirements of a non-program guide application that is not currently stored on the user television equipment; determine the amount of the memory that will be available to the interactive television program guide after storing the non-program-guide application on the user television equipment; receive information on the amount of memory for the interactive television program guide to use to store the program guide data; adjust the amount of memory used by the interactive television program guide to store the program guide data based at least in part on the received information and the amount of memory available after storing the non-program guide application on the user television equipment, wherein different categories of program guide data are stored in the memory and wherein the program guide data stored in the memory corresponds to a given television channel line-up; and determine an amount of memory available for each of the different categories of program guide data after the addition of new channels, wherein the control circuitry configured to adjust the memory adjusts based on the amounts of memory that are determined to be available for each of the different categories.
 60. An interactive television program guide system in which an interactive television program guide is implemented on user television equipment, comprising: memory in the user television equipment in which program guide data for use by the interactive television program guide and non-program guide applications are stored; and control circuitry in the user television equipment, wherein the control circuitry is configured to: determine the memory requirements of a non-program guide application that is not currently stored on the user television equipment; determine the amount of the memory that will be available to the interactive television program guide after storing the non-program-guide application on the user television equipment; receive information on the amount of memory for the interactive television program guide to use to store the program guide data; adjust the amount of memory used by the interactive television program guide to store the program guide data based at least in part on the received information and the amount of memory available after storing the new non-program guide application on the user television equipment, wherein the program guide data stored in the memory corresponds to a given television channel line-up; and detect a change in the amount of channels offered in the television channel line-up.
 61. An interactive television program guide system in which an interactive television program guide is implemented on user television equipment, comprising: memory in the user television equipment in which program guide data for a given memory configuration for use by the interactive television program guide and non-program guide applications are stored; and control circuitry in the user television equipment, wherein the control circuitry is configured to: determine the memory requirements of a non-program guide application that is not currently stored on the user television equipment; determine the amount of the memory that will be available to the interactive television program guide after storing the non-program-guide application on the user television equipment; receive program guide data for a new memory configuration; reconfigure the memory to accommodate the program guide data for the new memory configuration, wherein different categories of program guide data are stored in the memory, the control circuitry configured to reconfigure is further configured to reallocate the memory among the different categories of program guide data; and reallocate the memory based on information in a database configuration record and the amount of memory available after storing the non-program guide application on the user television equipment. 